package com.sheepone.util.regex;

/**
 * @author Miss.杨
 * @description
 * @since 2024/3/9 - 14:26
 */
public class PasswordRegexUtil {
    /**
     * 只能由字母组成，1-9位
     */
    public static String IS_ONLY_CHARACTER = "^[a-zA-Z]{1,9}$";
    /**
     * 只能由数字组成，1-9位
     */
    public static String IS_ONLY_NUMBER = "^\\d{1,9}$";
    /**
     * 至少包含字符，1-9位
     */
    public static String IS_CONTAIN_CHARACTER = "^(?=.*[a-zA-Z]).{1,9}$";
    /**
     * 至少包含数字，1-9位
     */
    public static String IS_CONTAIN_NUMBER = "^(?=.*\\d).{1,9}$";
    /**
     * 至少包含特殊字符，1-9位
     */
    public static String IS_CONTAIN_SPECIAL = "^(?=.*[^\\da-zA-Z\\s]).{1,9}$";

    /**
     * 只能由字母和数字组成，1-9位
     */
    public static String IS_ONLY_CHARACTER_OR_NUMBER = "^[a-zA-Z0-9]{1,9}$";
    /**
     * 只能由字母和数字组成，1-9位，且必须包含数字
     */
    public static String IS_ONLY_CHARACTER_AND_NUMBER_AND_CONTAIN_NUMBER = "^[a-zA-Z0-9]{1,9}$";
    /**
     * 至少包含字母、数字、特殊字符这三种，1-9位
     */
    public static String IS_CONTAIN_CHARACTER_AND_NUMBER_AND_SPECIAL = "^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[^\\da-zA-Z\\s]).{1,9}$";
    /**
     * 至少包含字母、数字、特殊字符三种，1-9位，并且不能连续出现3个大小连续或相同的数字
     */
    public static String IS_CONTAIN_CHARACTER_OR_NUMBER_OR_SPECIAL_AND_NOT_CONTINUOUS = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[^\\da-zA-Z\\s]).{1,9}(?!.*(\\d\\d\\d))$";
}
